package com.itlong.cloud.POJO.VO.sdk;

import com.itlong.cloud.utils.words.StringHandlerUtil;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;

import java.util.Map;

/**
 * <desc>
 *      云群控器上报呼梯结果VO类
 * </desc>
 *
 * @createDate 2019/07/17
 */
@Data
@NoArgsConstructor
public class CloudControllerNotifyMessageVO {
    private String msgCode;                                 //消息码 0成功 -1失败 1参数无效
    private String msg;                                     //消息码的具体含义，例如：“成功”、“失败”、“参数无效”
    private String snr;                                     //由发送方控制，应答方只需原数据返回即可。注：云群控器收到机器人预约乘梯命令，记录该命令的snr，派梯时将该snr返回，用于后台判断是哪次预约的派梯信息。
    private String cmd;                                     //“1003”：电梯控制注：该字段可能为空。
    private Map<String,Object> data;                       //robotId 机器人id  sn 设备序列号
    private String robotId;                                 //机器人id
    private String deviceUnique;                           //呼叫电梯的设备序列号
    private String deviceName;                              //上报呼叫信息的群控器设备序列号
    private String timestamp;           //上报数据时间戳
    private String sn;//设备序列号，哪一部电梯来接机器人
    private String customData;


    public void setData(Map<String,Object> data){
        if(data != null){
            this.robotId = StringHandlerUtil.getNullOrStringForObject(data.get("robotId"));
            this.deviceUnique = StringHandlerUtil.getNullOrStringForObject(data.get("sn"));
            if(StringUtils.isNotBlank(this.deviceUnique)){
                this.deviceUnique = StringHandlerUtil.getElevatorDeviceUniqueBySn(this.deviceUnique);
            }
        }
    }

}
